CONCAT
CONCAT関数は、新しい文字列を作成するために、ある文字列と別の文字列を連結します。
SQL構文
CONCAT(Expression1, Expression2)
Expression1 | CHAR、VARCHAR2、NCHARまたはNVARCHAR2式。 |
Expression2 | CHAR、VARCHAR2、NCHARまたはNVARCHAR2式。 |
説明
- CONCATはExpression2と連結されたExpression1を返します。
- Expression1とExpression2のデータ型には互換性がある必要があります。
- Expression2がNULLの場合、CONCATはExpression1を返します。Expression1がNULLの場合、CONCATはExpression2を返します。
- Expression1とExpression2が両方NULLであれば、CONCATはNULLを返します。
- CONCATの戻り型はExpression1とExpression2の型によって異なります。次の表に、CONCATの型の決定方法の概要を示します。
Expression1
|
Expression2
|
CONCAT
|
CHAR(m) | CHAR(n) | CHAR(m+n) |
CHAR(m) | VARCHAR2(n) | VARCHAR2(m+n) |
VARCHAR2(m) | CHAR(n) | VARCHAR2(m+n) |
VARCHAR2(m) | VARCHAR2(n) | VARCHAR2(m+n) |
- NCHARとNVARCHAR2も同様に扱われます。扱われるオペランドのいずれかが可変長であれば、戻り値も可変長になります。その他の場合、戻り値は固定長です。
- CHAR、NCHAR、VARCHAR2およびNVARCHAR2型の連結がサポートされています。CHARACTER型をNCHARACTER型と連結するとNCHARACTER型になります。
例3.21
次の例では、姓と名前を連結します。
CONCAT(CONCAT(FNAME, ' `), LNAME);
SELECT CONCAT(CONCAT(FNAME, ' `), LNAME), SAL
FROM EMPLOYEE;
例3.22
次の例では、列idを列id2と連結します。この例では、結果のデータ型はnchar (40)になります。
Command> create table cat (id char (20), id2 nchar (20));
Command> insert into cat values ('abc', 'def');
1 row inserted.
Command> select concat (id,id2) from cat;
< abc def >
1 row found.
関連項目
「式の指定」の| |演算子の説明